# 这是一个示例 Python 脚本。

# 按 Shift+F10 执行或将其替换为您的代码。

# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。

# Django框架位一个设置整体的配置文件为框架的基础，Flask主要是有一个上下文编辑器，看个人习惯


def print_hi(name):
    # 在下面的代码行中使用断点来调试脚本。
    print(f'Hi, {name}')  # 按 Ctrl+F8 切换断点。


# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    print_hi('PyCharm')

# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助

from werkzeug.routing import BaseConverter
from create import creat_flask
from flask import  request , render_template ,redirect, url_for , jsonify ,make_response
import os

app = creat_flask()

# 自定义Converter类
class PhoneConverter(BaseConverter):
    regex = r'1[3-9]\d{9}'

@app.route('/' , endpoint="asdfgh")
def index_pex():
    return render_template('index.html')

@app.route('/index',endpoint='idxx')
def index_sun():
    return 'indx页面'

@app.route('/post',methods=["POST","GET"])
def post_view():
    data_json = request.json
    print(request.form.get('key1'))
    print(data_json["key1"],[type(data_json)])
    print(app.config.get('MY_NAME'))
    return 'HELLO WORLD'

@app.route('/resp', endpoint='resp')
def index():
    # 响应字符串
    resp = make_response('自定义的响应字符串')
    # 响应头键值对
    resp.headers['author'] = 'jeremy'
    # 状态码与状态码提示信息
    resp.status = '6969 a post'
    # 注意: 响应头键值对与状态码提示信息均为英文, 否则抛异常
    return resp

@app.route('/baidu',endpoint='cdx')
def index_hao():
    return redirect('http://www.baidu.com/')

@app.route('/user',methods=["POST","GET"])
def indexsss():
    print(request.args.get('name'))
    print(app.config.get('MY_NAME'))
    return 'HELLO WORLD'

# @app.route('/reg',methods=["POST","GET"])
# def index_peng():
#     list = []
#     for i in range(10000,99999):
#         if i % 100 == 0 or i % 4 == 0 and i % 400 != 0:
#             list.append(i)
#     print(list)
#     return list

# @app.route('/chao',methods=["POST","GET"])

@app.route('/<name>/<path:arg>',methods=["POST","GET"])
def index(arg,name):
    print(arg)
    print(name)
    print(app.config.get("MY_NAME"))
    return '我是。。。。。。。。。。。。。。。'

# 文件上传
@app.route('/upload', methods=['POST'])
def upload_file():
    # 获取前端传递过来的文件对象
    img = request.files.get('pic')
    # 如果本地文件有名
    diers = os.listdir()
    if img.filename not in diers:
        with open(img.filename, "ab") as f:
            f.write(img.read())
        return "写入成功"

    # 新文件的长度不要了   追加写入
    start = os.path.getsize(img.filename)
    data = img.read()[start:]
    with open(img.filename, "ab") as f:
        f.write(data)
    return "上传成功"

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)

